import fs from 'fs'
export class qq extends plugin {
  constructor () {
    super({
      name: '一键地配置',
      /** 功能描述 */
      dsc: '一键配置',
      event: 'message',
      /** 优先级,数字越小等级越高 */
      priority: 1145,
      rule: [
        {
          reg: /^(#|\/)?设置一键别称(\d+)\s+(.+)$/,
          fnc: 'qq'
        }
      ]
    })
  }
  /**
   * @param e 消息对象
   * @returns
   */

async  qq(e) {
    const jsonpath = './plugins/egg-plugin/qq.json';
  try {
    const nameRegex = /^(#|\/)?设置一键别称(\d+)\s+(.+)$/;
    const match = e.msg.match(nameRegex);

    if (match && match[2] && match[3]) {
      const key = match[2];
      const value = match[3];

      // 读取现有的 JSON 数据
      const jsonData = fs.readFileSync(jsonpath, 'utf-8');
      let data = JSON.parse(jsonData);

      // 检查所有 key 下是否存在相同的 value
      const isValueDuplicate = Object.values(data).some((arr) => arr.includes(value));

      if (!isValueDuplicate) {
        // 判断是否存在对应键值，如果不存在则创建新数组
        if (!data[key]) {
          data[key] = [];
        }

        // 将新值推送到数组中
        data[key].push(value);

        // 将更新后的 JSON 数据写回到用户数据文件中
        fs.writeFileSync(jsonpath, JSON.stringify(data, null, 2));

        e.reply('更新成功');
        return true; // 返回 true 表示操作成功
      } else {
        throw new Error('别称重复，更新失败');
      }
    } else {
      throw new Error('未提供有效的键值和内容');
    }
  } catch (err) {
    // 捕获到错误的情况
    e.reply(err.message);
    return false; // 返回 false 表示操作失败
  }
}
}
